Electronic mail (e-mail) provides a quick and convenient way for Internet users throughout the world to communicate between one another. Such a communication is initiated by a message sender composing a message, which optionally includes joined files, and addressing the message to one or more recipients.
Once a message has been composed and a “send” key has been activated, the message will be delivered to each of the addressed recipients automatically, provided that valid e-mail destination addresses have been used in the message. A message may pass through a number of separate server computers, generally SMTP servers (also called Message Transfer Agents (MTA)), before reaching its final destination. The action of each MTA is defined as a “store and forward” which means that each message is temporarily stored and then forwarded when the MTA has an appropriate channel available.
One characteristic of the Internet network is that once a message is submitted to the Internet, the message becomes an independent entity (no longer under the control of the sender). This means that, once the message has been transmitted over the Internet, it cannot be directly altered, canceled or retracting by the originating sender.
However, in some situations, an e-mail user can use an unsend operation. Assuming that the sender sent the message to a wrong recipient or forgot to include an important item in the message, the sender may wish to stop transmission of the message before the message reaches the recipient. In certain software packages, this operation is possible by pressing an “undo” key. However, there is a difficulty with the “undo” function for e-mail insofar as the operation usually involves a number of independent servers not under the control of the user software.
Some e-mail systems provide a central repository for e-mail. Using this type of e-mail system, the message sender composes the message and sends the message to the recipient. The e-mail system saves the message in the e-mail repository until the recipient retrieves the message. In such a system, the sender can stop delivery of the message if the recipient has not yet retrieved the message because the message remains within the scope of control of the originating e-mail system.
Another messaging scheme is the Usenet Network News facility (netnews) that is well known to the art. Netnews has a “cancel” feature that allows the author of a message to send a follow-up cancel message that causes the recipient computers to remove the original message from their news directory. This netnews feature relies on the standardized nature of netnews—all recipient computers are programmed to process cancel messages.
However, in the above systems, once an e-mail has passed beyond the control of the originating sender, the e-mail cannot be canceled. This problem has been solved in systems wherein a cancel message is sent by the sender to all the recipients of the first message. Such a cancel message is either a duplicate message of the original message including a canceling tag or an action message including some information contained in the original message. Once this second message is received by the recipient, both original message and cancel message are deleted if the original message has not been read by the recipient.
Unfortunately, the above mechanism relates only to means for canceling messages which have not yet been read without looking for whether some recipients have already read the message. This means that some recipients, among the recipients who have received the e-mail, will be able to make some decisions whereas other recipients will not be able to make decisions since they will not have received the e-mail, which results in a possible discrepancy. Such a solution is not acceptable in some cases wherein an action must be achieved by all the recipients or by none of them. Therefore, there is a need to have a mechanism enabling a user to send an e-mail to each designated recipient or, conversely, to cancel this e-mail for all recipients.